DISTINCT vo viacerych stlpcoch

Otázka od: Ludo Fulop

20. 10. 2002 0:31

zdravim, ako mozem z databazy vybrat len tie riadky, ktore nemaju zhodnu
kombinaciu hodnot napr. z troch stlpcov?
Ludo Fulop

Odpovedá: Martin Kozusky

21. 10. 2002 8:32

Neni to nejak takto: (nebo podobne  

SELECT distinct(sl1,sl2,sl3) from tabulka where blabla

Martin

----- Original Message -----
From: "Ludo Fulop" <kexo@ynet.sk>
Newsgroups: cz.muni.redir.delphi
To: "Delphi Konfera" <delphi-l@clexpert.cz>
Sent: Sunday, October 20, 2002 1:28 AM
Subject: DISTINCT vo viacerych stlpcoch


> zdravim, ako mozem z databazy vybrat len tie riadky, ktore nemaju zhodnu
> kombinaciu hodnot napr. z troch stlpcov?
> Ludo Fulop
>

Odpovedá: Roland Turcan

21. 10. 2002 8:45

<<< 21. 10. 2002 8:52 - Ludo Fulop "kexo@ynet.sk" >>>
LF> zdravim, ako mozem z databazy vybrat len tie riadky, ktore nemaju zhodnu
LF> kombinaciu hodnot napr. z troch stlpcov?
LF> Ludo Fulop

select distinct stlpec1,stlpec2,stlpec3 ...

distinct hovori o tom ze riadok musi byt jedinecny
--
Best regards, TRoland
http://www.rotursoft.sk

Odpovedá: Ing. Pavel Žilinec

21. 10. 2002 10:00

To ano, ale nejde o kombinace, jak chtel Ludo, tj. aby radky
1, 2, 3
3, 2, 1
2, 1, 3
... daly jen jeden vysledek (napr. 1, 2, 3), coz distinct neudela, pze
pro nej jsou vsechny radky vyhovujici
Ja osobne nevim, jak by to slo rozumne udelat. Resenim, ktere
mne napadlo, by bylo rozsireni struktury o X (bit), ktere by
oznacovalo jeden zaznam v kombinaci pro vyber.
Pak bys ale musel zajistit, ze pri vkladani kombinacnich poli A, B, C
by si vsechny stejne kombinace oznacil na 0 a tuto na 1 (a bude
zajistena jedinecnost).
Delat by to slo i pri vyberu, ale asi by to bylo mnohem slozitejsi a
zrejme i prilis zdlouhave pro vsechny zaznamy.

(oprava na 0)
update T
  set B = 0
  where (A = @A and B = @B and C = @C) or
        (A = @B and B = @C and C = @A) or
        ... pro vsechny kombinace
        
Pak by pro vyber stacilo napsat
select *
  from T
  where B = 1

Pokud ma nekdo jiny napad, vcelku by mne zajimalo, jak to lze jeste
vyresit. Toto mi pripadne moc slozite  
  
--------
ing. Pavel Zilinec
MailTo:zilinec@email.cz

Prog-Soft s.r.o. Plzen
Informacni system pro vyrobce
a distributory napoju

RT> <<< 21. 10. 2002 8:52 - Ludo Fulop "kexo@ynet.sk" >>>
LF>> zdravim, ako mozem z databazy vybrat len tie riadky, ktore nemaju zhodnu
LF>> kombinaciu hodnot napr. z troch stlpcov?
LF>> Ludo Fulop

RT> select distinct stlpec1,stlpec2,stlpec3 ...

RT> distinct hovori o tom ze riadok musi byt jedinecny